package com.wxyzz.satserver.follow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wxyzz.common.core.common.PageParam;
import com.wxyzz.satserver.follow.vo.FanInfoVO;
import com.wxyzz.satserver.follow.vo.FollowInfoVO;
import io.swagger.models.auth.In;

import java.util.List;

public interface FollowService {


    /**
     * 关注和取消关注
     * @param beFocusedId
     */
    void followUser (Integer beFocusedId);


    /**
     * 获取粉丝数 （被多少人关注）
     * @return int
     */
    int beFocusedCount ();

    /**
     *  获取 当前用户的关注数
     * @return int
     */
    int followCount ();

    /**
     * 获取 当前用户 对目标用户的关注状态
     * @param beFocusedId
     * @return 0.未关注  1.关注
     */
    int followStatus (Integer uid, Integer beFocusedId);

    /**
     *  获取 当前用户 关注所有对象的列表信息
     * @return
     */
    Page<FollowInfoVO> getFollowInfo(PageParam param);

    /**
     *  获取 粉丝的信息
     * @param param
     * @return
     */
    Page<FanInfoVO> getFanInfo (PageParam param);
}
